package com.hzz.dto.river;

import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.hzz.framework.dto.BaseDto;

import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel("取水口信息 DTO")
public class IntakeInfoDto extends BaseDto {
    /** id */
    Long id;
    /** 河道ID */
	@NotNull(message="riverId不能为空")
    Long riverId;
    /** 取水口登记编码 */
	@NotNull(message="code不能为空")@Size(max=55,message="code最大55字符")
    String code;
    /** 取水口名称 */
	@NotNull(message="name不能为空")@Size(max=55,message="name最大55字符")
    String name;
    /** 取水许可证编码 */
	@Size(max=64,message="licenceCode最大64字符")
    String licenceCode;
    /** 行业类别 */
	@Size(max=64,message="industryType最大64字符")
    String industryType;
    /** 取水用途 */
	@Size(max=64,message="purpose最大64字符")
    String purpose;
    /** 取水方式 */
	@Size(max=64,message="way最大64字符")
    String way;
    /** 取水能力(吨) */
	@NotNull(message="totalIntake不能为空")
    BigDecimal totalIntake;
    /** 所在位置 */
	@Size(max=64,message="address最大64字符")
    String address;
    /** 经度 */
	@NotNull(message="longitude不能为空")@Size(max=32,message="longitude最大32字符")
    String longitude;
    /** 纬度 */
	@NotNull(message="latitude不能为空")@Size(max=32,message="latitude最大32字符")
    String latitude;
    /** 取水单位 */
	@Size(max=16,message="unit最大16字符")
    String unit;
    /** 取水单位责任人 */
	@Size(max=32,message="principal最大32字符")
    String principal;
    /** 联系电话 */
	@NotNull(message="phone不能为空")@Size(max=32,message="phone最大32字符")
    String phone;
    /** 归口管理单位 */
	@Size(max=64,message="manageCompany最大64字符")
    String manageCompany;
    /** 许可取水量(万m³) */
	@NotNull(message="allowQuantity不能为空")
    BigDecimal allowQuantity;
    /** 年取水量(万m³) */
	@NotNull(message="yearQuantity不能为空")
    BigDecimal yearQuantity;
    /** 行政区域ID,多个之间用逗号分隔 */
	@Size(max=128,message="areaIds最大128字符")
    String areaIds;
    /** 行政区域名称，多个之间用逗号分隔 */
	@Size(max=128,message="areaNames最大128字符")
    String areaNames;
    /** 备注 */
	@Size(max=255,message="memo最大255字符")
    String memo;
    /** 删除标记 */
    Integer delFlag;
    /** 建立者id */
    Long createId;
    /** 更新时间 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateUpdated;
    /** 创建时间 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateCreated;
	/**
	 * 河道名称(非表字段)
	 */
	String riverName;
}
